/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ipartek.formacion.gestformwww.modelo.clases;



import com.ipartek.formacion.gestformwww.modelo.interfaces.*;

/**
 *
 * @author David
 */
public abstract class DAOFactory {
  
    public static final int MYSQL=1;
    public static final int SQLSERVER=2;
    public static final int ORACLE=3;
    public static final int ODBC=4;
    public static final int TXTFILE=5;

    public abstract IAccesoDAO getIAccesoDAO();
    public abstract IAlumnoDAO getIAlumnoDAO();
    public abstract IAlumCursoDAO getIAlumCursoDAO();
    public abstract IAsistenciaDAO getIAsistenciaDAO();
    public abstract ICalificacionDAO getICalificacionDAO();
    public abstract IConvocatoriaDAO getIConvocatoriaDAO();
    public abstract IClienteDAO getIClienteDAO();
    public abstract IMaterialDAO getIMaterialDAO();

    public abstract ICursoDAO getICursoDAO();
    public abstract IDiaClaseDAO getIDiaClaseDAO();
    public abstract IEmpresaDAO getIEmpresaDAO();
    public abstract ILoginDAO getILoginDAO();
    public abstract IModuloDAO getIModuloDAO();
    public abstract IResponsableDAO getIResponsableDAO();
    public abstract ITipoCursoDAO getITipoCursoDAO();
    public abstract IProcedenciaDAO getIProcedenciaDAO();
    public abstract IEstadoDAO getIEstadoDAO();
    public abstract IDocenteDAO getIDocenteDAO();
    public abstract IAulaDAO getIAulaDAO();
    public abstract ISMSDAO getISMSDAO();
    public abstract ICorreoDAO getICorreoDAO();
    public abstract ICandidatoDAO getICandidatoDAO();
    public abstract ICandConvDAO getICandConvDAO();
    public abstract IContactoDAO getIContactoDAO();
    public abstract IEntregaDAO getIEntregaDAO();

    public static DAOFactory getDAOFactory(int tipo){

        switch(tipo){
            case SQLSERVER:
            {

                    return new SQLServerDAOFactory();
                

            }
            
            default:
        }
        return null;
     }
}
